Las funciones es una fragmento de código que recibe parámetros, ejecuta instrucciones y regresa resultados. Y nos permiten reutilizar código llamandola cuantas veces sea necesario.
def función(parámetros):
instrucciones
return(resultado)
Si una función es definida pero no invocada no se ejecutara en el código
Son elementos que recibe una función, para luego trabajar con ellos. Pueden ser:
Se le entregan a la función al momento de llamarla. Se especifican al momento de definir la función
Es el valor que entrega la función una vez que ha terminado de ejecutarse, este se puede igualar a una variable dentro del programa
var = función(parámetro_1,parámetro_2)
La invocación es el llamado de la función y se realiza cuando se quiere ejecutar la función definida.
Para realizar una invocación es necesiario primero definir la función o importar el módulo que la contiene y luego llamarla.
Si se intenta primero llamar a la función y luego definirla python regresara un error por definición.
In [1]:
printfunc(3)
def func(num):
return(num**num+num)
In [2]:
def func(num):
return(num**num+num)
func(3)
Out[2]:
In [3]:
alex=[90,70,80,60,90]
kate=[60,70,90,70,90]
david=[90,60,80,90,80]
y se desa calcular el promedio para cada uno, una forma de hacerlo seria la siguiente, calculando individualmente el promedio para cada uno e imprimiendo los resultados por pantalla:
In [4]:
#Promedio para Alex
i=0
sumatoria = 0
while i < len(alex):
sumatoria += alex[i]
i += 1
promedio=sumatoria/len(alex)
print(promedio)
#Promedio para Kate
i=0
sumatoria = 0
while i < len(kate):
sumatoria += kate[i]
i += 1
promedio=sumatoria/len(kate)
print(promedio)
#Promedio para David
i=0
sumatoria = 0
while i < len(david):
sumatoria += david[i]
i += 1
promedio=sumatoria/len(david)
print(promedio)
Pero como se puede apreciar eso complica el código haciendolo repetitivo y largo, la manera mas optima para hacer esto seria creando una función que calculara el promedio, para eso se utiliza la sintaxis:
def función(parámetros):
instrucciones
return(resultado)
In [5]:
def promedio(alumno):
n = len(alumno)
i = 0
sumatoria = 0
while i < n:
sumatoria += alumno[i]
i += 1
resultado= sumatoria/n
print(resultado)
Ahora con la función promedio definida el código se puede simplificar de la siguiente manera
In [6]:
promedio(alex)
promedio(kate)
promedio(david)
In [7]:
def saludo():
print("Hola!!!")
saludo()
In [8]:
# Definicion de la función con el parámetro hora predeterminado como True
def saludo(hora=True):
if hora==True:
print("Hola, buen día!")
else:
print("Hola, buenas noches")
In [9]:
# Se ejecuta la función sin asignación de párametro
saludo()
In [10]:
# Se ejecuta la funcion con asignación de parámetro
t=False
saludo(t)